package sjtu.rfid.rri.services.leaf;

import javax.jws.WebService;

import sjtu.rfid.rri.services.leaf.model.CoreConfig;

/**
 * The operation interface of CoreServer
 * 
 * @author jinghao
 * 
 */
@WebService
public interface CoreServer extends ReaderOperation {

	/**
	 * restart Core Server and clean all resources.
	 * 
	 * @throws OperationException
	 *             if the operation failed to complete
	 */
	public void restartCoreServer() throws OperationException;

	/**
	 * restore Core Server from CoreConfig, this will restart the core server.
	 * 
	 * @param coreConfig
	 *            the CoreConfig, if pass null, the server will restart
	 *            restoring with the state before calling this function.
	 * @throws OperationException
	 *             if the operation failed to complete
	 */
	public void restoreCoreServer(CoreConfig coreConfig)
			throws OperationException;

}
